package main

import (
	"fmt"
	"time"
)

func main() {

	timer1 := time.NewTimer(2 * time.Second)

	//注意：在timer1到期以后执行，也就是说，等待两秒以后执行
	<-timer1.C
	fmt.Println("Timer 1 fired")

	timer2 := time.NewTimer(time.Second)
	// 异步立即执行
	go func() {
		// 注意：这里的timer2得等到期以后才能执行，也就是说,等待一秒以后执行
		<-timer2.C
		fmt.Println("Timer 2 fired")
	}()
	// 异步立即执行
	stop2 := timer2.Stop()
	if stop2 {
		fmt.Println("Timer 2 stopped")
	}

	time.Sleep(2 * time.Second)
}
